

function controlFlowController(){
	
	this.init = function(){
		
		 CONTROLLER_JERARQUIA_SPACES = new controller_jerarquia_spaces();		  
		 CONTROLLER_BUSQUEDA = new Controller_busqueda();
		
		 
		 //busco el LISTADO DE AULAS (obs: traigo todas y las guardo en una variable)
		 //otra forma mas eficiente (dependiendo de la cantidad de aulas) seria tener un script PHP
		 //que vaya retornando las aulas de acuerdo al pedido (se pide a medida que se van agregando letras)
		 $.ajax({
	          type: "GET",
	          url: CONSTANTS.PATH_NOMBRES_DE_AULAS,
	          success: generateContentsFromFile,
	          error: function(){alert('ERROR. trayendo el archivo de aulas');}
	      });
		
		
	};
	
	
		 
	 //funcion encargada de procesar el archivo con la estructura jerarquica que contiene el nombre de las aulas (ex aulas.txt)
	function  generateContentsFromFile(data){
		 var obj = eval('(' + data + ')'); 	// console.log("data del aulas.txt nuevo --> ",obj);

		var nombreSpaces = obj;
		 if (NUEVO_FORMATO_AULAS_TXT){
			 
			 //aplanamos el archivo para sacar el nombre de las aulas
			var nombreSpaces = [];
			var pisos = obj.pisos;
			var piso = null;
			for (var i = 0, l = pisos.length; i<l; i++){
				piso = pisos[i];
				for (var j = 0, l2 = piso.spaces.length; j < l2; j++ ){
					nombreSpaces.push(piso.spaces[j][1]);
				}
			};
		 }
		 
		 nombreSpaces = nombreSpaces.unique();//eliminamos nombres de aulas repetidos
		 
		 
		 CONTROLLER_BUSQUEDA.setupInputBoxes(nombreSpaces);
		 
		 if (NUEVO_FORMATO_AULAS_TXT){
			 CONTROLLER_JERARQUIA_SPACES.setTreeData(obj, nombreSpaces);//una vez que arriba este archivo, se inicializa el objeto (init())
		 }
	 };
	
	 
	 
	 this.setDomPanels = function(config){
		// console.log('entre a setDomPanels', config)
		 
		 var arr = [];
		 if(!config.tab_busqueda.show){ arr.push($('a[href$="#panelBusqueda"]').parent().index());}
		 if(!config.tab_jerarquia.show){ arr.push($('a[href$="#panelJerarquia"]').parent().index());}
		 var selectedTab = $( "#sidebar1" ).tabs( "option", "selected");
		 if ($.inArray(selectedTab, arr) != -1){//si no agregue un piso con ese mismo nombre, lo agrego.
			 var val = $('a[href$="#panelBusqueda"]').parent().siblings().size();
			 $( "#sidebar1" ).tabs( "option", "selected", val );
		}
		
		 $('#sidebar1').tabs("option","disabled", arr);
		 if (config.tab_jerarquia.show){
			 $( "#sidebar1" ).tabs( "option", "selected", 0 );
		 }
		// console.log('arrr', arr)
		
		 
		 if (config.tree.animacionOnOff){			
			 
			  $('#divRadiosAnimacionTree').children().removeClass('ui-state-disabled').css({'pointer-events':''})		
			  
			  if (config.tree.animacion2d3d){
				  $("#divRadiosAnimacionTreeTipo").children().removeClass('ui-state-disabled').css({'pointer-events':''})
			  }else{
				  $("#divRadiosAnimacionTreeTipo").children().addClass('ui-state-disabled').css({'pointer-events':'none'})
			  }
		 }else{
			 $('#divRadiosAnimacionTree').children().addClass('ui-state-disabled').css({'pointer-events':'none'})	
			 $("#divRadiosAnimacionTreeTipo").children().addClass('ui-state-disabled').css({'pointer-events':'none'})
		 }
		 
		 if (config.ubicacion.enabled){
			 if (config.ubicacion.show) {
				 $("#divDataUbicacion").show()
				 $("#btnAbrirPanelUbicacion").hide()
			 }else{
				 $("#divDataUbicacion").hide()
				 $("#btnAbrirPanelUbicacion").show()
			 }
		 }else{
			 $("#divDataUbicacion").hide()
			 $("#btnAbrirPanelUbicacion").hide()
		 }
		 
		 if (config.dataRenderer.enabled){
			 if (config.dataRenderer.show) {
				 $("#divDataRenderer").show()
			 }else{
				 $("#divDataRenderer").hide()
			 }
		 }else{
			 $("#divDataRenderer").hide()
		 }
		 
		 if (config.stats.enabled){
			 if (config.stats.show) {
				 $("#divStats").show()
				 $("#btnAbrirPanelStats").hide()
			 }else{
				 $("#divStats").hide()
				 $("#btnAbrirPanelStats").show()
			 }
		 }else{
			 $("#divStats").hide()
			 $("#btnAbrirPanelStats").hide()
		 }
		 
		 if (config.contexto.enabled){
			 if (config.contexto.show) {
				 $("#divContexto").show()
				 $("#btnAbrirPanelContexto").hide()
			 }else{
				 $("#divContexto").hide()
				 $("#btnAbrirPanelContexto").show()
			 }
		 }else{
			 $("#divContexto").hide()
			 $("#btnAbrirPanelContexto").hide()
		 }
		 
		 if (config.animacion.enabled){
			 if (config.animacion.show) {
				 $("#divAnimacion").show()
				 $("#btnAbrirPanelAnimacion").hide()
			 }else{
				 $("#divAnimacion").hide()
				 $("#btnAbrirPanelAnimacion").show()
			 }
		 }else{
			 $("#divAnimacion").hide()
			 $("#btnAbrirPanelAnimacion").hide()
		 }
		 
		 if (config.camara.enabled){
			 if (config.camara.show) {
				 $("#divControlesCamara").show()
				 $("#btnAbrirPanelCamara").hide()
			 }else{
				 $("#divControlesCamara").hide()
				 $("#btnAbrirPanelCamara").show()
			 }
		 }else{
			 $("#divControlesCamara").hide()
			 $("#btnAbrirPanelCamara").hide()
		 }
	 }
	 
		 
};